// 测试 自动上传插件用
// server.js
import http from 'http'
import { StringDecoder } from 'string_decoder'

const port = 3000

// 创建 HTTP 服务
const server = http.createServer((req, res) => {
  // 只处理 POST 请求
  if (req.method === 'POST' && req.url === '/upload') {
    let body = ''

    // 创建解码器以处理请求体
    const decoder = new StringDecoder('utf-8')

    req.on('data', (chunk) => {
      body += decoder.write(chunk)
    })

    req.on('end', () => {
      body += decoder.end()

      try {
        // 解析请求体（假设是 JSON 格式）
        const parsedData = JSON.parse(body)

        // 打印接收到的文件清单数据
        console.log('收到文件清单：')
        console.log('时间戳:', parsedData.timestamp)
        console.log('文件列表:', parsedData.files)

        // 发送响应
        res.writeHead(200, { 'Content-Type': 'application/json' })
        res.end(
          JSON.stringify({
            message: '文件清单已接收成功',
            receivedFilesCount: parsedData.files.length,
          })
        )
      } catch (e) {
        // 如果解析失败，返回 400 错误
        res.writeHead(400, { 'Content-Type': 'application/json' })
        res.end(
          JSON.stringify({
            error: e,
          })
        )
      }
    })
  } else {
    // 其他请求，返回 404
    res.writeHead(404, { 'Content-Type': 'application/json' })
    res.end(
      JSON.stringify({
        error: '未找到此路径',
      })
    )
  }
})

// 启动 HTTP 服务器
server.listen(port, () => {
  console.log(`服务器正在监听 http://localhost:${port}`)
})
